# -*- coding:utf-8 -*-
"""
Author：Administrator
Date:2021年12月22日
"""
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np

df = pd.read_excel('../source/成绩表 - 7.4.xlsx')
plt.rcParams['font.sans-serif'] = ['SimHei']
labels = np.array(['语文', '数学', '英语', '物理', '化学', '生物'])
dataLenth = 6
# 计算女生、男生的各科平均成绩
df1 = np.array(df[df['性别'] == '女'][['语文', '数学', '英语', '物理', '化学', '生物']].mean().round(2))
df2 = np.array(df[df['性别'] == '男'][['语文', '数学', '英语', '物理', '化学', '生物']].mean().round(2))
# 设置雷达图的角度,用于平分切开一个平面
angles = np.linspace(0, 2 * np.pi, dataLenth, endpoint=False)
print(angles)
df1 = np.concatenate((df1, [df1[0]]))  # 使用雷达图闭合
print(df1)
df2 = np.concatenate((df2, [df2[0]]))  # 使用雷达图闭合
angles = np.concatenate((angles, [angles[0]]))
plt.polar(angles, df1, 'r--', linewidth=2, label='女生')
plt.fill(angles, df1, facecolor='r', alpha=0.5)
plt.polar(angles, df2, 'b-', linewidth=2, label='男生')
plt.fill(angles, df2, facecolor='b', alpha=0.5)
plt.thetagrids(range(0,360,60), labels)
plt.ylim(0,140)
plt.legend(loc='upper right',bbox_to_anchor=(1.2,1.1))
plt.show()

print(df1)
